package Exp1_ChenGy;

import java.util.Random;  

public class WaitingTime {  
  
    public static void main(String[] args) {  
        int totalWaitTime = 0; // 用于累计总等待时间  
        int numSimulations = 30000000; // 模拟次数，可以根据需要调整  
  
        Random random = new Random();  
  
        for (int i = 0; i < numSimulations; i++) {  
            // 模拟旅客的到达时间（分钟），假设早10点为600分钟，早10点半为630分钟  
            int arrivalTime = 10 * 60 + random.nextInt(30); // 10:00-10:30之间的随机时间  
  
            // 计算最近的发车时间（分钟），假设是每小时发车一次  
            int nextDeparture = ((arrivalTime + 59) / 60) * 60; // 向上取整到最近的整点  
  
            // 模拟由于堵车造成的随机耽搁时间（分钟）  
            int delay = random.nextInt(31); // 0-30分钟随机耽搁  
  
            // 旅客实际看到的发车时间  
            int actualDeparture = nextDeparture + delay;  
  
            // 计算等待时间  
            int waitTime = Math.max(0, actualDeparture - arrivalTime);  
  
            // 累计总等待时间  
            totalWaitTime += waitTime;  
        }  
  
        // 计算平均等待时间  
        double averageWaitTime = (double) totalWaitTime / numSimulations;  
  
        // 输出结果  
        System.out.println("平均等待时间（分钟）：" + averageWaitTime);  
    }  
}